<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>SystemSharp: SystemSharp.Assembler.Rewriters.DefaultExpansionPatterns Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">SystemSharp
   &#160;<span id="projectnumber">0.3</span>
   </div>
   <div id="projectbrief">A system-level modeling framework for designing real-time embedded systems</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Packages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('class_system_sharp_1_1_assembler_1_1_rewriters_1_1_default_expansion_patterns.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Events</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_default_expansion_patterns-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">SystemSharp.Assembler.Rewriters.DefaultExpansionPatterns Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>This static class provides some default code transformation patterns which are useful for transforming code to hardware  
 <a href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_default_expansion_patterns.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:adf729acd468027e78f2357812bd695fd"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expansion_pattern.html">ExpansionPattern</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_default_expansion_patterns.html#adf729acd468027e78f2357812bd695fd">Rewrite_Cos_double</a> (int convIntWidth, int convFracWidth)</td></tr>
<tr class="memdesc:adf729acd468027e78f2357812bd695fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an expansion pattern which replaces cos(x) by sccos(y). y=(1/PI)*x is converted from double to fixed point, the result is converted back to double. Useful if target platform implements sin/cos on fixed-point, scaled-radian basis only.  <a href="#adf729acd468027e78f2357812bd695fd">More...</a><br/></td></tr>
<tr class="separator:adf729acd468027e78f2357812bd695fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacbe118f904cc45a51d73253f67f4464"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expansion_pattern.html">ExpansionPattern</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_default_expansion_patterns.html#aacbe118f904cc45a51d73253f67f4464">Rewrite_Sin_double</a> (int convIntWidth, int convFracWidth)</td></tr>
<tr class="memdesc:aacbe118f904cc45a51d73253f67f4464"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an expansion pattern which replaces sin(x) by scsin(y). y=(1/PI)*x is converted from double to fixed point, the result is converted back to double. Useful if target platform implements sin/cos on fixed-point, scaled-radian basis only.  <a href="#aacbe118f904cc45a51d73253f67f4464">More...</a><br/></td></tr>
<tr class="separator:aacbe118f904cc45a51d73253f67f4464"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4eede70f8a8ece8a7cdee5198b63657d"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expansion_pattern.html">ExpansionPattern</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_default_expansion_patterns.html#a4eede70f8a8ece8a7cdee5198b63657d">Rewrite_Cos_ScSinCos_double</a> (int convIntWidth, int convFracWidth)</td></tr>
<tr class="memdesc:a4eede70f8a8ece8a7cdee5198b63657d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an expansion pattern which replaces cos(x) by scsincos(y). y=(1/PI)*x is converted from double to fixed point, the result tuple is converted back to double. Useful if target platform implements sin/cos on fixed-point, scaled-radian basis only.  <a href="#a4eede70f8a8ece8a7cdee5198b63657d">More...</a><br/></td></tr>
<tr class="separator:a4eede70f8a8ece8a7cdee5198b63657d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9c61a818735625ca848ac436f5d2a00"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expansion_pattern.html">ExpansionPattern</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_default_expansion_patterns.html#ad9c61a818735625ca848ac436f5d2a00">Rewrite_Sin_ScSinCos_double</a> (int convIntWidth, int convFracWidth)</td></tr>
<tr class="memdesc:ad9c61a818735625ca848ac436f5d2a00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an expansion pattern which replaces sin(x) by scsincos(y). y=(1/PI)*x is converted from double to fixed point, the result tuple is converted back to double. Useful if target platform implements sin/cos on fixed-point, scaled-radian basis only.  <a href="#ad9c61a818735625ca848ac436f5d2a00">More...</a><br/></td></tr>
<tr class="separator:ad9c61a818735625ca848ac436f5d2a00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d4ecf8f9f2a709ea9a7efaa3c7bd108"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expansion_pattern.html">ExpansionPattern</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_default_expansion_patterns.html#a3d4ecf8f9f2a709ea9a7efaa3c7bd108">Rewrite_Cos_ScSinCos_single</a> (int convIntWidth, int convFracWidth)</td></tr>
<tr class="memdesc:a3d4ecf8f9f2a709ea9a7efaa3c7bd108"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an expansion pattern which replaces cos(x) by scsincos(y). y=(1/PI)*x is converted from float to fixed point, the result tuple is converted back to float. Useful if target platform implements sin/cos on fixed-point, scaled-radian basis only.  <a href="#a3d4ecf8f9f2a709ea9a7efaa3c7bd108">More...</a><br/></td></tr>
<tr class="separator:a3d4ecf8f9f2a709ea9a7efaa3c7bd108"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a4ea1e6f5026e407c05f26092ad8655"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expansion_pattern.html">ExpansionPattern</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_default_expansion_patterns.html#a8a4ea1e6f5026e407c05f26092ad8655">Rewrite_Sin_ScSinCos_single</a> (int convIntWidth, int convFracWidth)</td></tr>
<tr class="memdesc:a8a4ea1e6f5026e407c05f26092ad8655"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an expansion pattern which replaces sin(x) by scsincos(y). y=(1/PI)*x is converted from float to fixed point, the result tuple is converted back to float. Useful if target platform implements sin/cos on fixed-point, scaled-radian basis only.  <a href="#a8a4ea1e6f5026e407c05f26092ad8655">More...</a><br/></td></tr>
<tr class="separator:a8a4ea1e6f5026e407c05f26092ad8655"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f38d3997b99b50f0f6ab8a2d6ffb5c9"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expansion_pattern.html">ExpansionPattern</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_default_expansion_patterns.html#a5f38d3997b99b50f0f6ab8a2d6ffb5c9">Rewrite_Cos_ScSinCos_fixpt</a> ()</td></tr>
<tr class="memdesc:a5f38d3997b99b50f0f6ab8a2d6ffb5c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an expansion pattern which replaces cos(x) by scsincos(y), y=(1/PI)*x. x must be a fixed-point arithmetic operand. The intermediate accuracy of the multiplication is determined automatically, considering the accuracies of input and output type. Moreover, the word lengths are constrained to fit the specific needs of Xilinx Cordic IP core. Useful if target platform implements sin/cos on fixed-point, scaled-radian basis only.  <a href="#a5f38d3997b99b50f0f6ab8a2d6ffb5c9">More...</a><br/></td></tr>
<tr class="separator:a5f38d3997b99b50f0f6ab8a2d6ffb5c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24a54aa3a967f880cacd64141b2a3b9a"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expansion_pattern.html">ExpansionPattern</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_default_expansion_patterns.html#a24a54aa3a967f880cacd64141b2a3b9a">Rewrite_Sin_ScSinCos_fixpt</a> ()</td></tr>
<tr class="memdesc:a24a54aa3a967f880cacd64141b2a3b9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an expansion pattern which replaces sin(x) by scsincos(y), y=(1/PI)*x. x must be a fixed-point arithmetic operand. The intermediate accuracy of the multiplication is determined automatically, considering the accuracies of input and output type. Moreover, the word lengths are constrained to fit the specific needs of Xilinx Cordic IP core. Useful if target platform implements sin/cos on fixed-point, scaled-radian basis only.  <a href="#a24a54aa3a967f880cacd64141b2a3b9a">More...</a><br/></td></tr>
<tr class="separator:a24a54aa3a967f880cacd64141b2a3b9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a8b9fcb69c4cdba988e8a153f4418d705"><td class="memItemLeft" align="right" valign="top">static readonly <a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expansion_pattern.html">ExpansionPattern</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_default_expansion_patterns.html#a8b9fcb69c4cdba988e8a153f4418d705">Rewrite_Abs_double</a></td></tr>
<tr class="memdesc:a8b9fcb69c4cdba988e8a153f4418d705"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an expansion pattern which replaces abs(x) by select(x &lt; 0, -x, x) for datatype double. Useful if target platform has no direct implementation of absolute value function.  <a href="#a8b9fcb69c4cdba988e8a153f4418d705">More...</a><br/></td></tr>
<tr class="separator:a8b9fcb69c4cdba988e8a153f4418d705"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a700222ac874c043d58e8e99da66b1a45"><td class="memItemLeft" align="right" valign="top">static readonly <a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expansion_pattern.html">ExpansionPattern</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_default_expansion_patterns.html#a700222ac874c043d58e8e99da66b1a45">Rewrite_Abs_int</a></td></tr>
<tr class="memdesc:a700222ac874c043d58e8e99da66b1a45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an expansion pattern which replaces abs(x) by select(x &lt; 0, -x, x) for datatype int. Useful if target platform has no direct implementation of absolute value function.  <a href="#a700222ac874c043d58e8e99da66b1a45">More...</a><br/></td></tr>
<tr class="separator:a700222ac874c043d58e8e99da66b1a45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abeb8b5513a963bb4147df36e5d1d4a38"><td class="memItemLeft" align="right" valign="top">static readonly <a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expansion_pattern.html">ExpansionPattern</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_default_expansion_patterns.html#abeb8b5513a963bb4147df36e5d1d4a38">Rewrite_Neg_double</a></td></tr>
<tr class="memdesc:abeb8b5513a963bb4147df36e5d1d4a38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an expansion pattern which replaces -x by (0-x) for datatype double. Useful if target platform has no direct implementation of negation function.  <a href="#abeb8b5513a963bb4147df36e5d1d4a38">More...</a><br/></td></tr>
<tr class="separator:abeb8b5513a963bb4147df36e5d1d4a38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a819dbdbf16a3d891392a149e539c0390"><td class="memItemLeft" align="right" valign="top">static readonly <a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expansion_pattern.html">ExpansionPattern</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_default_expansion_patterns.html#a819dbdbf16a3d891392a149e539c0390">Rewrite_Neg_float</a></td></tr>
<tr class="memdesc:a819dbdbf16a3d891392a149e539c0390"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an expansion pattern which replaces -x by (0-x) for datatype float. Useful if target platform has no direct implementation of negation function.  <a href="#a819dbdbf16a3d891392a149e539c0390">More...</a><br/></td></tr>
<tr class="separator:a819dbdbf16a3d891392a149e539c0390"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b3f9e7b108401202b0debe5f2a74780"><td class="memItemLeft" align="right" valign="top">static readonly <a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expansion_pattern.html">ExpansionPattern</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_default_expansion_patterns.html#a0b3f9e7b108401202b0debe5f2a74780">Rewrite_Neg_int</a></td></tr>
<tr class="memdesc:a0b3f9e7b108401202b0debe5f2a74780"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an expansion pattern which replaces -x by (0-x) for datatype int. Useful if target platform has no direct implementation of negation function.  <a href="#a0b3f9e7b108401202b0debe5f2a74780">More...</a><br/></td></tr>
<tr class="separator:a0b3f9e7b108401202b0debe5f2a74780"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This static class provides some default code transformation patterns which are useful for transforming code to hardware </p>

<p>Definition at line <a class="el" href="_instruction_expander_8cs_source.html#l00382">382</a> of file <a class="el" href="_instruction_expander_8cs_source.html">InstructionExpander.cs</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="adf729acd468027e78f2357812bd695fd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expansion_pattern.html">ExpansionPattern</a> SystemSharp.Assembler.Rewriters.DefaultExpansionPatterns.Rewrite_Cos_double </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>convIntWidth</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>convFracWidth</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns an expansion pattern which replaces cos(x) by sccos(y). y=(1/PI)*x is converted from double to fixed point, the result is converted back to double. Useful if target platform implements sin/cos on fixed-point, scaled-radian basis only. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">convIntWidth</td><td>desired fixed-point conversion integer width</td></tr>
    <tr><td class="paramname">convFracWidth</td><td>desired fixed-point conversion fractional width</td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_instruction_expander_8cs_source.html#l00459">459</a> of file <a class="el" href="_instruction_expander_8cs_source.html">InstructionExpander.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a4eede70f8a8ece8a7cdee5198b63657d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expansion_pattern.html">ExpansionPattern</a> SystemSharp.Assembler.Rewriters.DefaultExpansionPatterns.Rewrite_Cos_ScSinCos_double </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>convIntWidth</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>convFracWidth</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns an expansion pattern which replaces cos(x) by scsincos(y). y=(1/PI)*x is converted from double to fixed point, the result tuple is converted back to double. Useful if target platform implements sin/cos on fixed-point, scaled-radian basis only. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">convIntWidth</td><td>desired fixed-point conversion integer width</td></tr>
    <tr><td class="paramname">convFracWidth</td><td>desired fixed-point conversion fractional width</td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_instruction_expander_8cs_source.html#l00515">515</a> of file <a class="el" href="_instruction_expander_8cs_source.html">InstructionExpander.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a5f38d3997b99b50f0f6ab8a2d6ffb5c9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expansion_pattern.html">ExpansionPattern</a> SystemSharp.Assembler.Rewriters.DefaultExpansionPatterns.Rewrite_Cos_ScSinCos_fixpt </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns an expansion pattern which replaces cos(x) by scsincos(y), y=(1/PI)*x. x must be a fixed-point arithmetic operand. The intermediate accuracy of the multiplication is determined automatically, considering the accuracies of input and output type. Moreover, the word lengths are constrained to fit the specific needs of Xilinx Cordic IP core. Useful if target platform implements sin/cos on fixed-point, scaled-radian basis only. </p>

<p>Definition at line <a class="el" href="_instruction_expander_8cs_source.html#l00717">717</a> of file <a class="el" href="_instruction_expander_8cs_source.html">InstructionExpander.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a3d4ecf8f9f2a709ea9a7efaa3c7bd108"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expansion_pattern.html">ExpansionPattern</a> SystemSharp.Assembler.Rewriters.DefaultExpansionPatterns.Rewrite_Cos_ScSinCos_single </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>convIntWidth</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>convFracWidth</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns an expansion pattern which replaces cos(x) by scsincos(y). y=(1/PI)*x is converted from float to fixed point, the result tuple is converted back to float. Useful if target platform implements sin/cos on fixed-point, scaled-radian basis only. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">convIntWidth</td><td>desired fixed-point conversion integer width</td></tr>
    <tr><td class="paramname">convFracWidth</td><td>desired fixed-point conversion fractional width</td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_instruction_expander_8cs_source.html#l00574">574</a> of file <a class="el" href="_instruction_expander_8cs_source.html">InstructionExpander.cs</a>.</p>

</div>
</div>
<a class="anchor" id="aacbe118f904cc45a51d73253f67f4464"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expansion_pattern.html">ExpansionPattern</a> SystemSharp.Assembler.Rewriters.DefaultExpansionPatterns.Rewrite_Sin_double </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>convIntWidth</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>convFracWidth</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns an expansion pattern which replaces sin(x) by scsin(y). y=(1/PI)*x is converted from double to fixed point, the result is converted back to double. Useful if target platform implements sin/cos on fixed-point, scaled-radian basis only. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">convIntWidth</td><td>desired fixed-point conversion integer width</td></tr>
    <tr><td class="paramname">convFracWidth</td><td>desired fixed-point conversion fractional width</td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_instruction_expander_8cs_source.html#l00487">487</a> of file <a class="el" href="_instruction_expander_8cs_source.html">InstructionExpander.cs</a>.</p>

</div>
</div>
<a class="anchor" id="ad9c61a818735625ca848ac436f5d2a00"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expansion_pattern.html">ExpansionPattern</a> SystemSharp.Assembler.Rewriters.DefaultExpansionPatterns.Rewrite_Sin_ScSinCos_double </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>convIntWidth</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>convFracWidth</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns an expansion pattern which replaces sin(x) by scsincos(y). y=(1/PI)*x is converted from double to fixed point, the result tuple is converted back to double. Useful if target platform implements sin/cos on fixed-point, scaled-radian basis only. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">convIntWidth</td><td>desired fixed-point conversion integer width</td></tr>
    <tr><td class="paramname">convFracWidth</td><td>desired fixed-point conversion fractional width</td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_instruction_expander_8cs_source.html#l00544">544</a> of file <a class="el" href="_instruction_expander_8cs_source.html">InstructionExpander.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a24a54aa3a967f880cacd64141b2a3b9a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expansion_pattern.html">ExpansionPattern</a> SystemSharp.Assembler.Rewriters.DefaultExpansionPatterns.Rewrite_Sin_ScSinCos_fixpt </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns an expansion pattern which replaces sin(x) by scsincos(y), y=(1/PI)*x. x must be a fixed-point arithmetic operand. The intermediate accuracy of the multiplication is determined automatically, considering the accuracies of input and output type. Moreover, the word lengths are constrained to fit the specific needs of Xilinx Cordic IP core. Useful if target platform implements sin/cos on fixed-point, scaled-radian basis only. </p>

<p>Definition at line <a class="el" href="_instruction_expander_8cs_source.html#l00731">731</a> of file <a class="el" href="_instruction_expander_8cs_source.html">InstructionExpander.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a8a4ea1e6f5026e407c05f26092ad8655"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expansion_pattern.html">ExpansionPattern</a> SystemSharp.Assembler.Rewriters.DefaultExpansionPatterns.Rewrite_Sin_ScSinCos_single </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>convIntWidth</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>convFracWidth</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns an expansion pattern which replaces sin(x) by scsincos(y). y=(1/PI)*x is converted from float to fixed point, the result tuple is converted back to float. Useful if target platform implements sin/cos on fixed-point, scaled-radian basis only. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">convIntWidth</td><td>desired fixed-point conversion integer width</td></tr>
    <tr><td class="paramname">convFracWidth</td><td>desired fixed-point conversion fractional width</td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_instruction_expander_8cs_source.html#l00603">603</a> of file <a class="el" href="_instruction_expander_8cs_source.html">InstructionExpander.cs</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a8b9fcb69c4cdba988e8a153f4418d705"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">readonly <a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expansion_pattern.html">ExpansionPattern</a> SystemSharp.Assembler.Rewriters.DefaultExpansionPatterns.Rewrite_Abs_double</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= <span class="keyword">new</span> DefaultExpansionPattern(</div>
<div class="line">            DefaultInstructionSet.Instance.Abs().CreateStk(1, typeof(<span class="keywordtype">double</span>), typeof(<span class="keywordtype">double</span>)),</div>
<div class="line">            <span class="keyword">new</span> XILSInstr[] {</div>
<div class="line">                DefaultInstructionSet.Instance.Dup().CreateStk(1, typeof(<span class="keywordtype">double</span>), typeof(<span class="keywordtype">double</span>), typeof(<span class="keywordtype">double</span>)),</div>
<div class="line">                DefaultInstructionSet.Instance.Dup().CreateStk(1, typeof(<span class="keywordtype">double</span>), typeof(<span class="keywordtype">double</span>), typeof(<span class="keywordtype">double</span>)),</div>
<div class="line">                DefaultInstructionSet.Instance.Neg().CreateStk(1, typeof(<span class="keywordtype">double</span>), typeof(<span class="keywordtype">double</span>)),</div>
<div class="line">                DefaultInstructionSet.Instance.Swap().CreateStk(2, typeof(<span class="keywordtype">double</span>), typeof(<span class="keywordtype">double</span>), typeof(<span class="keywordtype">double</span>), typeof(<span class="keywordtype">double</span>)),</div>
<div class="line">                DefaultInstructionSet.Instance.LdConst(0.0).CreateStk(0, typeof(<span class="keywordtype">double</span>)),</div>
<div class="line">                DefaultInstructionSet.Instance.IsLt().CreateStk(2, typeof(<span class="keywordtype">double</span>), typeof(<span class="keywordtype">double</span>), typeof(<span class="keywordtype">bool</span>)),</div>
<div class="line">                DefaultInstructionSet.Instance.Select().CreateStk(3, typeof(<span class="keywordtype">double</span>), typeof(<span class="keywordtype">double</span>), typeof(<span class="keywordtype">bool</span>), typeof(<span class="keywordtype">double</span>))</div>
<div class="line">            })</div>
</div><!-- fragment -->
<p>Returns an expansion pattern which replaces abs(x) by select(x &lt; 0, -x, x) for datatype double. Useful if target platform has no direct implementation of absolute value function. </p>

<p>Definition at line <a class="el" href="_instruction_expander_8cs_source.html#l00388">388</a> of file <a class="el" href="_instruction_expander_8cs_source.html">InstructionExpander.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a700222ac874c043d58e8e99da66b1a45"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">readonly <a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expansion_pattern.html">ExpansionPattern</a> SystemSharp.Assembler.Rewriters.DefaultExpansionPatterns.Rewrite_Abs_int</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= <span class="keyword">new</span> DefaultExpansionPattern(</div>
<div class="line">            DefaultInstructionSet.Instance.Abs().CreateStk(1, typeof(Signed), typeof(Signed)),</div>
<div class="line">            <span class="keyword">new</span> XILSInstr[] {</div>
<div class="line">                DefaultInstructionSet.Instance.Dup().CreateStk(1, typeof(Signed), typeof(Signed), typeof(Signed)),</div>
<div class="line">                DefaultInstructionSet.Instance.Dup().CreateStk(1, typeof(Signed), typeof(Signed), typeof(Signed)),</div>
<div class="line">                DefaultInstructionSet.Instance.Neg().CreateStk(1, typeof(Signed), typeof(Signed)),</div>
<div class="line">                DefaultInstructionSet.Instance.Swap().CreateStk(2, typeof(Signed), typeof(Signed), typeof(Signed), typeof(Signed)),</div>
<div class="line">                DefaultInstructionSet.Instance.Ld0().CreateStk(0, typeof(Signed)),</div>
<div class="line">                DefaultInstructionSet.Instance.IsLt().CreateStk(2, typeof(Signed), typeof(Signed), typeof(<span class="keywordtype">bool</span>)),</div>
<div class="line">                DefaultInstructionSet.Instance.Select().CreateStk(3, typeof(Signed), typeof(Signed), typeof(<span class="keywordtype">bool</span>), typeof(Signed))</div>
<div class="line">            })</div>
</div><!-- fragment -->
<p>Returns an expansion pattern which replaces abs(x) by select(x &lt; 0, -x, x) for datatype int. Useful if target platform has no direct implementation of absolute value function. </p>

<p>Definition at line <a class="el" href="_instruction_expander_8cs_source.html#l00404">404</a> of file <a class="el" href="_instruction_expander_8cs_source.html">InstructionExpander.cs</a>.</p>

</div>
</div>
<a class="anchor" id="abeb8b5513a963bb4147df36e5d1d4a38"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">readonly <a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expansion_pattern.html">ExpansionPattern</a> SystemSharp.Assembler.Rewriters.DefaultExpansionPatterns.Rewrite_Neg_double</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= <span class="keyword">new</span> DefaultExpansionPattern(</div>
<div class="line">            DefaultInstructionSet.Instance.Neg().CreateStk(1, typeof(<span class="keywordtype">double</span>), typeof(<span class="keywordtype">double</span>)),</div>
<div class="line">            <span class="keyword">new</span> XILSInstr[] {</div>
<div class="line">                DefaultInstructionSet.Instance.LdConst(0.0).CreateStk(0, typeof(<span class="keywordtype">double</span>)),</div>
<div class="line">                DefaultInstructionSet.Instance.Swap().CreateStk(2, typeof(<span class="keywordtype">double</span>), typeof(<span class="keywordtype">double</span>), typeof(<span class="keywordtype">double</span>), typeof(<span class="keywordtype">double</span>)),</div>
<div class="line">                DefaultInstructionSet.Instance.Sub().CreateStk(2, typeof(<span class="keywordtype">double</span>), typeof(<span class="keywordtype">double</span>), typeof(<span class="keywordtype">double</span>))</div>
<div class="line">            })</div>
</div><!-- fragment -->
<p>Returns an expansion pattern which replaces -x by (0-x) for datatype double. Useful if target platform has no direct implementation of negation function. </p>

<p>Definition at line <a class="el" href="_instruction_expander_8cs_source.html#l00420">420</a> of file <a class="el" href="_instruction_expander_8cs_source.html">InstructionExpander.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a819dbdbf16a3d891392a149e539c0390"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">readonly <a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expansion_pattern.html">ExpansionPattern</a> SystemSharp.Assembler.Rewriters.DefaultExpansionPatterns.Rewrite_Neg_float</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= <span class="keyword">new</span> DefaultExpansionPattern(</div>
<div class="line">            DefaultInstructionSet.Instance.Neg().CreateStk(1, typeof(<span class="keywordtype">float</span>), typeof(<span class="keywordtype">float</span>)),</div>
<div class="line">            <span class="keyword">new</span> XILSInstr[] {</div>
<div class="line">                DefaultInstructionSet.Instance.LdConst(0.0f).CreateStk(0, typeof(<span class="keywordtype">float</span>)),</div>
<div class="line">                DefaultInstructionSet.Instance.Swap().CreateStk(2, typeof(<span class="keywordtype">float</span>), typeof(<span class="keywordtype">float</span>), typeof(<span class="keywordtype">float</span>), typeof(<span class="keywordtype">float</span>)),</div>
<div class="line">                DefaultInstructionSet.Instance.Sub().CreateStk(2, typeof(<span class="keywordtype">float</span>), typeof(<span class="keywordtype">float</span>), typeof(<span class="keywordtype">float</span>))</div>
<div class="line">            })</div>
</div><!-- fragment -->
<p>Returns an expansion pattern which replaces -x by (0-x) for datatype float. Useful if target platform has no direct implementation of negation function. </p>

<p>Definition at line <a class="el" href="_instruction_expander_8cs_source.html#l00432">432</a> of file <a class="el" href="_instruction_expander_8cs_source.html">InstructionExpander.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a0b3f9e7b108401202b0debe5f2a74780"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">readonly <a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expansion_pattern.html">ExpansionPattern</a> SystemSharp.Assembler.Rewriters.DefaultExpansionPatterns.Rewrite_Neg_int</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= <span class="keyword">new</span> DefaultExpansionPattern(</div>
<div class="line">            DefaultInstructionSet.Instance.Neg().CreateStk(1, typeof(Signed), typeof(Signed)),</div>
<div class="line">            <span class="keyword">new</span> XILSInstr[] {</div>
<div class="line">                DefaultInstructionSet.Instance.Ld0().CreateStk(0, typeof(Signed)),</div>
<div class="line">                DefaultInstructionSet.Instance.Swap().CreateStk(2, typeof(Signed), typeof(Signed), typeof(Signed), typeof(Signed)),</div>
<div class="line">                DefaultInstructionSet.Instance.Sub().CreateStk(2, typeof(Signed), typeof(Signed), typeof(Signed))</div>
<div class="line">            })</div>
</div><!-- fragment -->
<p>Returns an expansion pattern which replaces -x by (0-x) for datatype int. Useful if target platform has no direct implementation of negation function. </p>

<p>Definition at line <a class="el" href="_instruction_expander_8cs_source.html#l00444">444</a> of file <a class="el" href="_instruction_expander_8cs_source.html">InstructionExpander.cs</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="_instruction_expander_8cs_source.html">InstructionExpander.cs</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespace_system_sharp.html">SystemSharp</a></li><li class="navelem"><a class="el" href="namespace_system_sharp_1_1_assembler.html">Assembler</a></li><li class="navelem"><a class="el" href="namespace_system_sharp_1_1_assembler_1_1_rewriters.html">Rewriters</a></li><li class="navelem"><a class="el" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_default_expansion_patterns.html">DefaultExpansionPatterns</a></li>
    <li class="footer">Generated on Thu Dec 26 2013 14:21:57 for SystemSharp by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
  </ul>
</div>
</body>
</html>
